﻿package component.tree.model;


public abstract class TreeModel {
	private String condition;
	
	/**
	 * 获取标题
	 * @return 
	 */
	public String getTitle(){
		return "";
	}
	
	/**
	 * 获取数据库表的名称
	 * @return
	 */
	public abstract String getTableName();
	
	/**
	 * 获取数据库表中排序字段的名称
	 * @return
	 */
	public String getForderName(){
		return "";
	}
	
	/**
	 * 获取实体Tree中排序属性的名称
	 * @return
	 */
	public String getOrderName(){
		return "";
	}
	
	/**
	 * 获取数据库表中主键字段的名称
	 * @return
	 */
	public String getFidName(){
		return "fid";
	}
	
	/**
	 * 获取实体Tree中主键字段对应的属性名称
	 * @return
	 */
	public String getIdName(){
		return "id";
	}
	
	/**
	 * 获取数据库表中父ID的名称
	 * @return
	 */
	public String getFparentIdName(){
		return "fparent_id";
	}
	
	/**
	 * 获取实体Tree中父ID字段对应的属性名称
	 * @return
	 */
	public String getParentIdName(){
		return "parentId";
	}
	
	/**
	 * 获取数据库表中name的名称
	 * @return
	 */
	public String getFnameName(){
		return "fname";
	}
	
	/**
	 * 获取实体Tree中name字段对应的属性名称
	 * @return
	 */
	public String getNameName(){
		return "name";
	}
	
	/**
	 * 获取数据库表中code的名称
	 * @return
	 */
	public String getFcodeName(){
		return "fcode";
	}
	
	/**
	 * 获取实体Tree中code字段对应的属性名称
	 * @return
	 */
	public String getCodeName(){
		return "code";
	}
	
	/**
	 * 获取数据库表中type的名称
	 * type:是否目录节点
	 * 		1：目录节点; 0：叶子节点
	 * @return
	 */
	public String getFtypeName(){
		return "ftype";
	}
	
	/**
	 * 获取实体Tree中type字段对应的属性名称
	 * @return
	 */
	public String getTypeName(){
		return "type";
	}
	
	/**
	 * 获取数据库表中path的名称
	 * path:节点的路径
	 * 		格式为: 根节点(-1),父节点1,父节点2,自身节点
	 * @return
	 */
	public String getFpathName(){
		return "fpath";
	}
	
	/**
	 * 获取实体Tree中path字段对应的属性名称
	 * @return
	 */
	public String getPathName(){
		return "path";
	}
	
	/**
	 * 获取数据库表中其它值的集合
	 * otherValue可以是一个字段或多个字段的集合
	 * 		多个字段的格式：字段1||'#'||字段2
	 * @return
	 */
	public String getFotherValueName(){
		return "fid";
	}
	
	/**
	 * 获取实体Tree中otherValue字段对应的属性名称
	 * @return
	 */
	public String getOtherValueName(){
		return "otherValue";
	}
	
	/**
	 * 获取默认的条件
	 * @return
	 */
	public String getDefaultCondition(){
		return "";
	}
	
	/**
	 * 获取提供数据的类名
	 * @return
	 */
	public String getDataProvider(){
		return "";
	}
	
	/**
	 * 获取查询树型数据的sql语句
	 * @return
	 */
	public String getSelectSql(){
		return "";
	}
	
	/**
	 * 获取插入树型数据的sql语句
	 * @return
	 */
	public String getInsertSql(){
		return "insert into " + this.getTableName() + "() values()";
	}
	
	
	
	/**
	 * 获取更新树型数据的sql语句
	 * @return
	 */
	public String getUpdateSql(){
		return "";
	}

	public String getCondition() {
		return condition;
	}

	public void setCondition(String condition) {
		this.condition = condition;
	}
	
	/**
	 * 获取树型列表页面的路径
	 * @return
	 */
	public String getListPage(){
		return "";
	}
	
}
